package com.hw01.service;

import com.hw01.common.Result;
import com.hw01.entity.PunchingCardRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hw01.vo.ClockInVo;
import com.hw01.vo.PunchingCardRecordVo;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 打卡记录 服务类
 * </p>
 *
 * @author zhong
 * @since 2024-03-18
 */
public interface PunchingCardRecordService extends IService<PunchingCardRecord> {

    /**
     * 获取打卡记录
     * 
     * @param userId 员工id
     * @param year 年份
     * @param month 月份
     * @return 结果
     */
    Result<List<PunchingCardRecordVo>> getPunchingCardRecord(Long userId, String year, String month);

    /**
     * 打卡
     * 
     * @param userId 员工id
     * @param address 打卡地点
     * @return 结果-打卡时间
     */
    Result<LocalDateTime> clockIn(Long userId,String address);

    /**
     * 今日是否打卡
     * 
     * @param userId 员工id
     * @return 结果
     */
    Result<ClockInVo> todayClockIn(Long userId);

}
